package com.sinog.basic.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sinog.core.domain.Position;
import com.sinog.core.utilbean.Result;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @desc 系统管理 - 岗位管理 - 岗位管理 - PositionService
 * @author hak
 * @date 2019年7月15日 18点00分
 */
@RestController
public interface PositionService extends IService<Position> {

    /**
     * 系统管理 - 岗位管理 - 岗位管理 - 保存岗位信息
     * @param data data
     * @return Result
     */
    @PostMapping("basic/position")
    Result save(@RequestParam("data") String data);

    /**
     * 系统管理 - 岗位管理 - 岗位管理 - 删除资源
     * @param id id
     * @return Result
     */
    @DeleteMapping("basic/position/{id}")
    Result deleteOne(@PathVariable("id") String id);

    /**
     * 系统管理 - 岗位管理 - 岗位管理 - 根据ID查询岗位详情
     * @param id id
     * @return Result
     */
    @GetMapping("basic/position/{id}")
    Result selectOne(@PathVariable("id") String id);

    /**
     * 系统管理 - 岗位管理 - 岗位管理 - 条件获取岗位列表
     * @param rolekey rolekey
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param loginUserLevel loginUserLevel
     * @return String
     */
    @GetMapping("basic/position")
    String selectPositionList(
            @RequestParam("positionkey") String rolekey,
            @RequestParam("pageIndex") Integer pageIndex,
            @RequestParam("pageSize") Integer pageSize,@RequestParam("loginUserLevel") String loginUserLevel);

    /**
     * 系统管理 - 岗位管理 - 岗位管理 - 获取全部岗位
     * @param reskey reskey
     * @param loginUserLevel loginUserLevel
     * @return Result
     */
    @GetMapping("/basic/userPositionNameEdit/{reskey}")
    Result selectAllPosition(
            @PathVariable("reskey") String reskey,@RequestParam("loginUserLevel") String loginUserLevel);
}